package mpbe.estructura.secciones.hormigon_armado.contornos;

/*
 * Este codigo es software libre y se encuentra licenciado 
 * bajo los términos de la Licencia Pública General de GNU versión 3 
 * según se encuentra publicada por la Free Software Foundation.
 * http://www.gnu.org/licenses/gpl.html
 * 
 * Autor: Martin Pablo Bellanca <martin.bellanca@gmail.com>
 * web: http://mpbe.blogspot.com/
 */

import java.util.Vector;

import mpbe.geometria.Punto;

import org.eclipse.swt.graphics.ImageData;

public class SHContornoCircular extends SHContornoPorParametros {

	public SHContornoCircular() {
		super.designacion = "Circular";
		super.parametros[0].designacion = "Diametro (d)=";
		super.parametros[0].valor_default = 50;
		super.parametros[0].valor = 50;
		super.parametros[1].designacion = "Cantidad de nodos (cn)=";
		super.parametros[1].valor_default = 12;
		super.parametros[1].valor = 12;
		super.img = new ImageData("./img/Ele.png");
	}

	@Override
	public SHContornoPorParametros getNewParametro() {
		return new SHContornoCircular();
	}
	
	@Override
	public boolean cargar_Nodos(Vector<Punto> nodo) {
		double di = super.parametros[0].valor;
		double cn = super.parametros[1].valor;
		
		double ang = Math.PI*2/cn;
		double r = di/2;
		
		nodo.removeAllElements();
		Punto pp;
		for (double aa = 2*Math.PI; aa>0; aa-=ang){
			pp = new Punto(Math.cos(aa)*r, Math.sin(aa)*r); // Nodo
			nodo.add(pp);
		}
		
		return true;
	}
	
}
